#ifndef _INPUT_MANAGER_H
#define _INPUT_MANAGER_H

#include <sys/time.h>
#include <sys/types.h>          /* See NOTES */
#include <sys/socket.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdio.h>
#include <signal.h>

#include <tslib.h>


#define INPUT_TYPE_TOUCH 1
#define INPUT_TYPE_NET   2

/* input_event  :Linux-4.9.88\include\uapi\linux\input.h
   int code;//触摸屏事件中，它提供的是绝对位置信息，有X方向、Y方向，
   还有压力值。
   int value;//对于触摸屏，它的 value 就是坐标值、压力值。
*/
typedef struct InputEvent {
	struct timeval tTime;
	int iType;
	int iX;
	int iY;
	int iPressure;
	char str[1024];//传数据
}InputEvent, *PInputEvent;

typedef struct InputDevOpr{
	char *name;
	int (*GetInputEvent)(PInputEvent ptInputEvent);
	int (*DeviceInit)(void);
	int (*DeviceExit)(void);
	struct InputDevOpr *ptNext;
}InputDevOpr, *PInputDevOpr;

void RegisterInputDev(PInputDevOpr ptInputDevOpr);

void InputStystemRegister(void);

int InputStystemInit(void);

int GetInputEvent(PInputEvent ptInputEvent);


#endif
